p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. Looking for p5.js 2.0? http://beta.p5js.org
\r\n\r\n```\r\n\r\nThen load WebGPU mode in `createCanvas`:\r\n```js\r\nasync function setup() {\r\n await createCanvas(400, 400, WEBGPU);\r\n}\r\n```\r\n\r\nOr, feel free to duplicate this project on the p5.js web editor: https://editor.p5js.org/ksen0/sketches/Ger2euN_J\r\n\r\nRead more about how it works and where we plan on taking it here: https://github.com/processing/p5.js/blob/dev-2.0/contributor_docs/webgpu.md\r\n\r\n### What's Changed 🎊\r\n* Ported the stroke shader to WebGPU renderer by @lukeplowden in https://github.com/processing/p5.js/pull/7915\r\n* Framebuffer support on WebGPU renderer by @davepagurek in https://github.com/processing/p5.js/pull/8008\r\n* webgpu ci test by @tychedelia in https://github.com/processing/p5.js/pull/8023\r\n* Add WIP WebGPU mode by @davepagurek in https://github.com/processing/p5.js/pull/8179\r\n* Update release action to omit WebGPU tests, add TS tests by @davepagurek in https://github.com/processing/p5.js/pull/8337\r\n* FES parameter validation decoration use `.apply()` for faster function invocation by @limzykenneth in https://github.com/processing/p5.js/pull/8332\r\n* Add WebGPU built files to npm releases by @davepagurek in https://github.com/processing/p5.js/pull/8338\r\n* Make sure bytes are aligned in p5.Geometry by @davepagurek in https://github.com/processing/p5.js/pull/8340\r\n* Fix WebGPU buffer memory leaks by @davepagurek in https://github.com/processing/p5.js/pull/8342\r\n* Fix JSDoc return type for p5.Vector.cross (2.0) by @Geethegreat in https://github.com/processing/p5.js/pull/8346\r\n* Add support for instanceID() in WebGPU mode by @davepagurek in https://github.com/processing/p5.js/pull/8348\r\n* Fix WebGPU filters in CDN builds using duck typing for nodes (closes … by @Piyushrathoree in https://github.com/processing/p5.js/pull/8349\r\n* Fix Camera.slerp for ortho by cloning projMatrix into uPMatrix when active by @nakednous in https://github.com/processing/p5.js/pull/8351\r\n* fixed the issue with alpha blending - fixing blur remaining by @Piyushrathoree in https://github.com/processing/p5.js/pull/8354\r\n* Support background(image) in WEBGL Renderer3D by @reshma045 in https://github.com/processing/p5.js/pull/8352\r\n* Fix LogicalExpression (&&, ||) handling in p5.strands by @Aayushdev18 in https://github.com/processing/p5.js/pull/8359\r\n* Fix p5.strands filters not working on minified code by @davepagurek in https://github.com/processing/p5.js/pull/8367\r\n* More fixes for minified filters by @davepagurek in https://github.com/processing/p5.js/pull/8372\r\n* Fix transforms in clip() by using shape system for primitives using manual method by @VANSH3104 in https://github.com/processing/p5.js/pull/8236\r\n* Make sure text binds an index buffer by @davepagurek in https://github.com/processing/p5.js/pull/8393\r\n* Fix font measurement with font families containing special characters by @davepagurek in https://github.com/processing/p5.js/pull/8391\r\n* Fix for strands branching by @davepagurek in https://github.com/processing/p5.js/pull/8394\r\n\r\n## New Contributors\r\n* @tychedelia made their first contribution in https://github.com/processing/p5.js/pull/8023\r\n* @Piyushrathoree made their first contribution in https://github.com/processing/p5.js/pull/8349\r\n* @Aayushdev18 made their first contribution in https://github.com/processing/p5.js/pull/8359\r\n\r\n**Full Changelog**: https://github.com/processing/p5.js/compare/v2.1.2...v2.2.0-rc.5","url":"https://announcehq.com/p5-js/1c242a65-8867-4a04-9a90-c2431258c644","datePublished":"2026-01-10T09:19:46.000Z","dateModified":"2026-01-10T09:19:46.000Z","author":{"@type":"Organization","name":"p5.js","url":"https://github.com/processing/p5.js"},"publisher":{"@type":"Organization","name":"AnnounceHQ","url":"https://announcehq.com","logo":{"@type":"ImageObject","url":"https://announcehq.com/logo.png"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://announcehq.com/p5-js/1c242a65-8867-4a04-9a90-c2431258c644"},"isPartOf":{"@type":"WebPage","@id":"https://announcehq.com/p5-js","name":"p5.js Changelog"},"about":{"@type":"SoftwareApplication","name":"p5.js"},"keywords":"p5.js, release notes, changelog, improved, software update"}Back to changelog
Improved
v2.2.0-rc.5
Help test the release candidate
The 2.2 proposed minor release contains the ongoing work on WebGPU rendering! This is a release candidate (RC), which means it is not yet live on the p5.js Editor. Please help us to improve the stability of the newest version of p5.js by trying out this release candidate, and reporting bugs. You can also share your thoughts or get involved on Discord in the #webpgu channel! This RC also contains bugfixes in p5.js, including in p5.strands.
Testing WebGPU mode
WebGPU mode is included in a core add-on now. To load both p5.js and WebGPU mode, add these two script tags to your sketch: